home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2000 July / CD 3 / redhat-6.2.iso / RedHat / instimage / usr / lib / anaconda / iw / language.py < prev    next >
Encoding:
Python Source  |  2000-03-08  |  2.1 KB  |  75 lines

  1. from gtk import *
  2. from iw import *
  3. from translate import _
  4.  
  5. class LanguageWindow (InstallWindow):
  6.  
  7.     def __init__ (self, ics):
  8.     InstallWindow.__init__ (self, ics)
  9.  
  10.         ics.setTitle (_("Language Selection"))
  11.  
  12.         if self.todo.reconfigOnly:
  13.             ics.setPrevEnabled (1)
  14.         else:
  15.             ics.setPrevEnabled (0)
  16.  
  17.         ics.setNextEnabled (1)
  18.         ics.readHTML ("lang")
  19.         self.ics = ics
  20.         self.icw = ics.getICW ()
  21.         self.question = (_("What language should be used during the "
  22.                          "installation process?"))
  23.         self.languages = self.todo.language.available ()
  24.         self.running = 0
  25.         self.lang = None
  26.  
  27.     def getNext (self):
  28.         if self.lang:
  29.             self.todo.language.set (self.lang)
  30.             self.icw.setLanguage (self.languages[self.lang])
  31.         return None
  32.  
  33.         
  34.     def select_row (self, clist, row, col, event):
  35.         if self.running:
  36.             lang = clist.get_text (clist.selection[0], 0)
  37.             self.lang = lang
  38.         
  39.     def getScreen (self):
  40.         self.running = 0
  41.         mainBox = GtkVBox (FALSE, 10)
  42.         label = GtkLabel (self.question)
  43.         label.set_alignment (0.5, 0.5)
  44.         label.set_line_wrap (TRUE)
  45.         
  46.      language_keys = self.languages.keys ()
  47.         language_keys.sort ()
  48.  
  49.         self.language = GtkCList ()
  50.         self.language.set_selection_mode (SELECTION_BROWSE)
  51.         self.language.connect ("select_row", self.select_row)
  52.  
  53.         default = -1
  54.         n = 0
  55.         for locale in language_keys:
  56.             row = self.language.append ((locale,))
  57.             if self.languages[locale] == self.todo.language.get ():
  58.                 default = n
  59.             n = n + 1
  60.  
  61.         if default > 0:
  62.             self.language.select_row (default, 0)
  63.  
  64.         sw = GtkScrolledWindow ()
  65.         sw.set_border_width (5)
  66.         sw.set_policy (POLICY_NEVER, POLICY_NEVER)
  67.         sw.add (self.language)
  68.         
  69.         mainBox.pack_start (label, FALSE, FALSE, 10)
  70.         mainBox.pack_start (sw, TRUE)
  71.  
  72.         self.running = 1
  73.         
  74.         return mainBox
  75.